package com.vviton.zyhj.common.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.vviton.zyhj.common.entity.TYyxtLpglLpxx;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ViewLpcx;
import com.vviton.zyhj.common.view.ViewLpdhcx;
import com.vviton.zyhj.common.view.ViewLpxx;

/**
 *
 * ClassName: TYyxtLpglLpxxMapper <br/>
 * Function: 礼品信息Dao. <br/>
 * Date: 2016年11月14日 下午1:55:14 <br/>
 *
 * @author nifang
 * @version 1.0
 * @since JDK 1.7
 */
public interface TYyxtLpglLpxxMapper {

    /**
     *
     * insertLpxx,(新增礼品信息). <br/>
     * Author: nifang <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: nifang <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpxx 礼品信息entity
     * @return 执行结果
     * @since JDK 1.7
     */
    int insertLpxx(TYyxtLpglLpxx lpxx);

    /**
     *
     * countLpxxPagination,(分页查询礼品信息总数量). <br/>
     * Author: nifang <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: nifang <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页对象
     * @return 总数量
     * @since JDK 1.7
     */
    int countLpxxPagination(@Param("page") Page page);

    /**
     *
     * getLpxxPagination,(分页查询礼品信息). <br/>
     * Author: nifang <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: nifang <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页对象
     * @return 礼品信息
     * @since JDK 1.7
     */
    List<ViewLpdhcx> getLpxxPagination(@Param("page") Page page);

    /**
     *
     * getLpxxByIdAndYwy,(根据礼品编号和业务域查询礼品信息). <br/>
     * Author: nifang <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: nifang <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param id 礼品编号
     * @param ywy 业务域
     * @return 礼品信息entity
     * @since JDK 1.7
     */
    TYyxtLpglLpxx getLpxxByIdAndYwy(@Param("id") String id, @Param("ywy") String ywy);

    /**
     * getLpxxByid,根据礼品ID获取礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param id 礼品ID
     * @param ywy 业务域
     * @return 礼品信息
     * @since JDK 1.7
     */
    ViewLpxx getLpxxByid(@Param("id") String id, @Param("ywy") String ywy);

    /**
     * updateLpxx,更新礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpxx 礼品信息
     * @return 执行结果
     * @since JDK 1.7
     */
    int updateLpxx(TYyxtLpglLpxx lpxx);

    /**
     * countLpxxListPagination,根据条件获取礼品总条数. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 参数
     * @return 条数
     * @since JDK 1.7
     */
    int countLpxxListPagination(@Param("page") Page page);

    /**
     * getLpxxListPagination,根据条件获取礼品信息List. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 参数
     * @return 礼品信息List
     * @since JDK 1.7
     */
    List<ViewLpcx> getLpxxListPagination(@Param("page") Page page);

    /**
     * updateLpZkzt,更新在库状态（礼品上下架）. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月15日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月15日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpxx 礼品信息
     * @return 执行结果
     * @since JDK 1.7
     */
    int updateLpZkzt(TYyxtLpglLpxx lpxx);

    /**
     *
     * updateLpxxDhsl,(更新礼品信息表兑换数量). <br/>
     * Author: nifang <br/>
     * Create Date: 2016年11月17日 <br/>
     * ===============================================================<br/>
     * Modifier: nifang <br/>
     * Modify Date: 2016年11月17日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpxx 礼品信息entity
     * @return 执行结果
     * @since JDK 1.7
     */
    int updateLpxxDhsl(TYyxtLpglLpxx lpxx);

    /**
     * getLpxxBylpmc,根据礼品名称获取礼品信息. <br/>
     * Author: huangqq <br/>
     * Create Date: 2016年11月18日 <br/>
     * ===============================================================<br/>
     * Modifier: huangqq <br/>
     * Modify Date: 2016年11月18日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param lpmc 礼品名称
     * @param ywy 业务域
     * @return 礼品信息
     * @since JDK 1.7
     */
    List<ViewLpxx> getLpxxBylpmc(@Param("lpmc") String lpmc, @Param("ywy") String ywy);
}